// Decompiled by Jad v1.5.8e. Copyright 2001 Pavel Kouznetsov.
// Jad home page: http://www.geocities.com/kpdus/jad.html
// Decompiler options: braces fieldsfirst space lnc
package org.achartengine.chart;
import android.graphics.Canvas;
import android.graphics.Paint;
import android.graphics.Path;
import java.util.List;
import org.achartengine.model.Point;
import org.achartengine.model.XYMultipleSeriesDataset;
import org.achartengine.renderer.XYMultipleSeriesRenderer;
// Referenced classes of package org.achartengine.chart:
// LineChart
public class CubicLineChart extends LineChart
{
public static final String TYPE = "Cubic";
private float a;
private float b;
private Point c;
private Point d;
private Point e;
public CubicLineChart()
{
c = new Point();
d = new Point();
e = new Point();
a = 0.33F;
b = 1.0F - a;
}
public CubicLineChart(XYMultipleSeriesDataset xymultipleseriesdataset, XYMultipleSeriesRenderer xymultipleseriesrenderer, float f)
{
super(xymultipleseriesdataset, xymultipleseriesrenderer);
c = new Point();
d = new Point();
e = new Point();
a = f;
b = 1.0F - a;
}
private void a(List list, Point point, int i, int j, float f)
{
float f1 = ((Float)list.get(i)).floatValue();
float f2 = ((Float)list.get(i + 1)).floatValue();
float f3 = ((Float)list.get(j)).floatValue();
float f4 = ((Float)list.get(j + 1)).floatValue();
float f5 = f3 - f1;
float f6 = f4 - f2;
point.setX(f1 + f5 * f);
point.setY(f2 + f6 * f);
}
protected void drawPath(Canvas canvas, List list, Paint paint, boolean flag)
{
Path path = new Path();
path.moveTo(((Float)list.get(0)).floatValue(), ((Float)list.get(1)).floatValue());
int i = list.size();
int j;
int k;
if (flag)
{
j = i - 4;
} else
{
j = i;
}
k = 0;
while (k < j)
{
int i1;
int j1;
Point point;
float f;
if (k + 2 < j)
{
i1 = k + 2;
} else
{
i1 = k;
}
if (k + 4 < j)
{
j1 = k + 4;
} else
{
j1 = i1;
}
a(list, c, k, i1, b);
d.setX(((Float)list.get(i1)).floatValue());
d.setY(((Float)list.get(i1 + 1)).floatValue());
point = e;
f = a;
a(list, point, i1, j1, f);
path.cubicTo(c.getX(), c.getY(), d.getX(), d.getY(), e.getX(), e.getY());
k += 2;
}
if (flag)
{
for (int l = j; l < j + 4; l += 2)
{
path.lineTo(((Float)list.get(l)).floatValue(), ((Float)list.get(l + 1)).floatValue());
}
path.lineTo(((Float)list.get(0)).floatValue(), ((Float)list.get(1)).floatValue());
}
canvas.drawPath(path, paint);
}
public String getChartType()
{
return "Cubic";
}
}